
#include <Paineis/BotaoIm.h>
#include "PetLab.h"


BotaoIm::BotaoIm(int x, int y, void (Tela::*func)(bool), Tela* tela)
: Botao(16, 15, x, y),
  m_checked(true),
  m_func(func),
  m_tela(tela)
{
    DesenharChecked();
    
    Texto* im = new Texto("Im",2,2);
    im->Fonte("arial",12);
    AdicionarControle(im);
}


void BotaoIm::DesenharChecked()
{
    for(int i=0; i<16; i++)
        for(int j=0; j<15; j++)
            Matriz()[i][j] = RGBA(128,128,128,255);

    for(int i=1; i<15; i++)
        for(int j=1; j<14; j++)
            Matriz()[i][j] = RGBA(255,255,255,255);
    
    Matriz()[0][0]   = RGBA(0,0,0,0);
    Matriz()[0][14]  = RGBA(0,0,0,0);
    Matriz()[15][0]  = RGBA(0,0,0,0);
    Matriz()[15][14] = RGBA(0,0,0,0);

    Matriz()[2][3]   = RGBA(255,255,255,255);
    Matriz()[2][12]  = RGBA(255,255,255,255);
    Matriz()[13][3]  = RGBA(255,255,255,255);
    Matriz()[13][12] = RGBA(255,255,255,255);
}


void BotaoIm::DesenharUnchecked()
{
    for(int i=0; i<16; i++)
        for(int j=0; j<15; j++)
            Matriz()[i][j] = RGBA(0,0,0,0);
}


bool BotaoIm::AoBaixarEsq(EventoBaixarEsq ev)
{
    m_checked = !m_checked;
    
    if(m_checked)
    {
        DesenharChecked();
        (m_tela->*m_func)(true);
    }
    else
    {
        DesenharUnchecked();
        (m_tela->*m_func)(false);
    }

    ev.janela->Redesenhar(this);

    return false;
}
